package dao;

import java.sql.ResultSet;

import gestores.GestorBD;


public class DAO_Participante {

	private static DAO_Participante INSTANCE = null;

	public DAO_Participante(){
		
		 }
	
	 /**
	    *  Metodo para obtener una instancia, si existe la devuelve, sino la crea
	    * @return instancia si existe
	    */
	   public static DAO_Participante getInstance(){
			if (INSTANCE == null) { 
	           INSTANCE = new DAO_Participante();
	        }
			return INSTANCE;
	   }


	public void guardarParticipante(String id, String correo, String nombre, String imagen, String id_competencia) {
		 GestorBD.getInstance().actualizar("INSERT INTO `participante` (`id_participante`, `correo`, `nombre`, `imagen`, `id_competencia`, `eliminada`) VALUES ('"+id+"', '"+correo+"', '"+nombre+"', '"+imagen+"', '"+id_competencia+"', 0)");
	}

	public ResultSet buscarParticipanteCorreo( String correo, String competencia){
		return GestorBD.getInstance().ejecutar("SELECT `participante`.`correo` FROM `participante`,`competencia` WHERE `participante`.`correo`='"+correo+"' AND `competencia`.`nombre`='"+competencia+"' AND `participante`.`id_competencia`=`competencia`.`id_competencia` " +
				"AND `participante`.`eliminada`='0' AND `competencia`.`eliminada`='0'");	
	}
	
	public ResultSet buscarParticipanteNombre(String nombre, String competencia){
		return GestorBD.getInstance().ejecutar("SELECT `participante`.`nombre` FROM `participante`,`competencia`WHERE `participante`.`nombre`='"+nombre+"' AND `competencia`.`nombre`='"+competencia+"' AND `participante`.`id_competencia`=`competencia`.`id_competencia` " +
				"AND `participante`.`eliminada`='0'AND `competencia`.`eliminada`='0'");	
	}
	
	
	public ResultSet buscarParticipantesCompetencia(String competencia){
		return GestorBD.getInstance().ejecutar("SELECT  `participante`.`correo` ,  `participante`.`nombre` ,  `participante`.`imagen` FROM  `participante` ,  `competencia` WHERE  `competencia`.`nombre` =  '"+competencia+"'	AND  `competencia`.`id_competencia` =  `participante`.`id_competencia` AND  `participante`.`eliminada` =  '0'");
			
	}

	public ResultSet getIdParticipante(String correoParticipante, String nombreComp) {
		// TODO Auto-generated method stub
		return GestorBD.getInstance().ejecutar("SELECT `participante`.`id_participante` " +
				"FROM `participante`,`competencia` " +
				"WHERE `participante`.`correo`='"+ correoParticipante +"' " +
				"AND `competencia`.`nombre`='"+ nombreComp +"' " +
				"AND `participante`.`id_competencia`=`competencia`.`id_competencia` " +
				"AND `participante`.`eliminada`='0' " +
				"AND `competencia`.`eliminada`='0';");
	}

	
	
	public ResultSet getParticipante1Encuentro(String id_encuentro) {
		// TODO Auto-generated method stub
		return GestorBD.getInstance().ejecutar("SELECT `participante`.`id_participante`, `participante`.`correo`, `participante`.`nombre`, `participante`.`imagen` " +
				"FROM `participante`, `encuentro` " +
				"WHERE `encuentro`.`id_encuentro`='"+ id_encuentro +"' " +
				"AND `encuentro`.`id_part1`=`participante`.`id_participante` " +
				"AND `participante`.`eliminada`='0'");
	}
	
	
	
	public ResultSet getParticipante2Encuentro(String id_encuentro) {
		// TODO Auto-generated method stub
		return GestorBD.getInstance().ejecutar("SELECT `participante`.`id_participante`, `participante`.`correo`, `participante`.`nombre`, `participante`.`imagen` " +
				"FROM `participante`, `encuentro` " +
				"WHERE `encuentro`.`id_encuentro`='"+ id_encuentro +"' " +
				"AND `encuentro`.`id_part2`=`participante`.`id_participante` " +
				"AND `participante`.`eliminada`='0'");
	}

	public ResultSet getListaCambiosPart1(String id_encuentro) {
		// TODO Auto-generated method stub
		return GestorBD.getInstance().ejecutar("SELECT `historial_participante`.`nombre`, `historial_participante`.`fecha` " +
				"FROM `historial_participante`, `participante`, `encuentro` " +
				"WHERE `encuentro`.`id_encuentro`='"+ id_encuentro +"' " +
				"AND `historial_participante`.`id_participante`= `encuentro`.`id_part1` ");
	}

	public ResultSet getListaCambiosPart2(String id_encuentro) {
		// TODO Auto-generated method stub
		return GestorBD.getInstance().ejecutar("SELECT `historial_participante`.`nombre`, `historial_participante`.`fecha` " +
				"FROM `historial_participante`, `participante`, `encuentro` " +
				"WHERE `encuentro`.`id_encuentro`='"+ id_encuentro +"' " +
				"AND `historial_participante`.`id_participante`= `encuentro`.`id_part2` ");
	}

	
	
	public ResultSet getIdResultadoPart(String id_competencia){
		return GestorBD.getInstance().ejecutar("SELECT `encuentro`.`id_resultado`" +
				"FROM `encuentro` " +
				"WHERE `encuentro`.`id_competencia` = '"+id_competencia +"'");
	}
	
	
	

	
	
	
	
	
	
	
	

}
